﻿using NeonMika.EightTracks;
using NeonMika.EightTracks.Responses;
using System;

namespace Testing.EightTracksAPI
{
    class Program
    {
        static void Main(string[] args)
        {
            NeonMika.EightTracks.EightTracksConnection Connection = new EightTracksConnection("developerKey");
            Connection.Authenticate("user", "password");
            TagsResponse tagsResponse = Connection.GetAllTags(100, 1);
            MixResponse singleMixResponse = Connection.GetMix(1002);
            MixesResponse mixListResponse = Connection.GetMixes(new string[] { "sun" }, new string[] { "chill", "study" }, 20, Sort.Popular, 1);
            ReviewsResponse ReviewResponse = Connection.GetReviewsByMixId(1002,20,1);
            ReviewResponse = Connection.GetReviewsByUserId(2, 20, 1); 
            tagsResponse = Connection.GetTagsByKeyword("electr");
            UserResponse userResponse = Connection.GetUser(2);
            userResponse = Connection.GetUser("remi");

            singleMixResponse = Connection.LikeMix(1002);
            singleMixResponse = Connection.ToggleMixLike(1002);
            singleMixResponse = Connection.UnlikeMix(1002);
            singleMixResponse = Connection.ToggleMixLike(1002);

            userResponse = Connection.FollowUser(2);
            userResponse = Connection.UnfollowUser(2);

            SetResponse setResponse = Connection.GetNextTrackInSet(1002);
            setResponse = Connection.GetSet(1002);
            TrackResponse trackResponse = Connection.FavouriteTrack(setResponse.Set.Track.Id);
            trackResponse = Connection.UnfavouriteTrack(setResponse.Set.Track.Id);

            //Also tested:
            //Connection.Report30SecondsPlay();

            //Not tested:
            //Connection.PostReview();          
        }
    }
}
